home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Linux Cubed Series 7: Sunsite
/
Linux Cubed Series 7 - Sunsite Vol 1.iso
/
system
/
printing
/
ljetmgr2.4-b
/
ljetmgr2
/
SW
/
lib
/
libtixVTree4.0.4.tsl
< prev
next >
Wrap
Text File
|
1996-06-13
|
3KB
|
61 lines
# RQ tixScrolledHList 4
# +END
Require tixScrolledHList 4
tixWidgetClass tixVTree {-classname TixVTree
-superclass tixScrolledHList
-method {}
-flag {-ignoreinvoke}
-configspec {{-ignoreinvoke ignoreInvoke IgnoreInvoke false tixVerifyBoolean}}
-default {}}
proc tixVTree::InitWidgetRec {w} {upvar #0 $w data
tixChainMethod $w InitWidgetRec}
proc tixVTree::ConstructWidget {w} {upvar #0 $w data
tixChainMethod $w ConstructWidget
set data(indStyle) [tixDisplayStyle image -refwindow $data(w:hlist) -padx 0 -pady 0]}
proc tixVTree::SetBindings {w} {upvar #0 $w data
tixChainMethod $w SetBindings
$data(w:hlist) config -indicatorcmd "tixVTree::IndicatorCmd $w" -browsecmd "tixVTree::BrowseCmdHook $w" -command "tixVTree::CommandHook $w"}
proc tixVTree::IndicatorCmd {w args} {upvar #0 $w data
set event [tixEvent type]
set ent [tixEvent flag V]
set type [tixVTree::GetType $w $ent]
set plus [LocateImage pixmap plus]
set plusarm [LocateImage pixmap plusarm]
set minus [LocateImage pixmap minus]
set minusarm [LocateImage pixmap minusarm]
case $event {<Arm> {if {$type == "open"} {$data(w:hlist) indicator config $ent -image $plusarm} else {$data(w:hlist) indicator config $ent -image $minusarm}}
<Disarm> {if {$type == "open"} {$data(w:hlist) indicator config $ent -image $plus} else {$data(w:hlist) indicator config $ent -image $minus}}
<Activate> {tixCallMethod $w Activate $ent $type}}}
proc tixVTree::GetType {w ent} {upvar #0 $w data
set img [$data(w:hlist) indicator cget $ent -image]
if {$img == [LocateImage pixmap plus]} {return open}
if {$img == [LocateImage pixmap plusarm]} {return open}
return close}
proc tixVTree::Activate {w ent type} {upvar #0 $w data
set plus [LocateImage pixmap plus]
set minus [LocateImage pixmap minus]
if {$type == "open"} {tixCallMethod $w OpenCmd $ent
$data(w:hlist) indicator config $ent -image $minus} else {tixCallMethod $w CloseCmd $ent
$data(w:hlist) indicator config $ent -image $plus}}
proc tixVTree::CommandHook {w args} {upvar #0 $w data
upvar bind bind
tixCallMethod $w Command bind}
proc tixVTree::BrowseCmdHook {w args} {upvar #0 $w data
upvar bind bind
tixCallMethod $w BrowseCmd bind}
proc tixVTree::SetMode {w ent mode} {upvar #0 $w data
case $mode {open {$data(w:hlist) indicator create $ent -itemtype image -image [LocateImage pixmap plus]}
close {$data(w:hlist) indicator create $ent -itemtype image -image [LocateImage pixmap minus]}
none {if [$data(w:hlist) indicator exist $ent] {$data(w:hlist) indicator delete $ent }}}}
proc tixVTree::OpenCmd {w ent} {upvar #0 $w data
foreach kid [$data(w:hlist) info children $ent] {$data(w:hlist) show entry $kid}}
proc tixVTree::CloseCmd {w ent} {upvar #0 $w data
foreach kid [$data(w:hlist) info children $ent] {$data(w:hlist) hide entry $kid}}
proc tixVTree::Command {w B} {upvar #0 $w data
upvar $B bind
if {$data(-ignoreinvoke)} {return}
set ent $bind(%V)
if [$data(w:hlist) indicator exist $ent] {tixVTree::Activate $w $ent [tixVTree::GetType $w $ent]}}
proc tixVTree::BrowseCmd {w B} {}
# +EOF